#define _CRT_SECURE_NO_WARNINGS 1
using namespace std;
#include <string>
void test01()
{
// string str;
// for(auto e : s)
// {
//     str[e - 'a']++;
// }
// for(int i = 0; i< str.size(); i++)
// {
//     if(str[s[i]] == 1)
//     return i;
// }
// return -1;

    //int str[26] = { 0 };
    //for (auto e : s)
    //{
    //    str[e - 'a']++;
    //}
    //for (int i = 0; i < 26; i++)
    //{
    //    if (s[i] == 1)
    //        return i;
    //}
    //return -1;
}

int test02()
{
    string s("leetcode");
    int arr1[26] = { 0 };
    for (auto e : s)
    {
        arr1[e - 97]++;
    }
    for (int i = 0; i < s.size(); i++)
    {
        if (s[i] == 1)
            return i;
    }
    return -1;
}

//test03()
//{
//    bool isletter(char m)
//    {
//        if (('a' < m && m < 'z') || ('A' < m && m < 'Z')
//            return true;
//            return false;
//    }
//
//    class Solution {
//    public:
//        bool isPalindrome(string s) {
//            char[]
//                for (int i = 0; i < s.size(); i++)
//                {
//                    if ()
//
//                }
//        }
//    };
//}

bool isletter(int a)
{
    if ((a >= 48 && a <= 57) || (a >= 65 && a <= 90) ||
        (a >= 97 && a <= 122))
        return true;
    else
        return false;
}

bool test04()
{
    string s("A man, a plan, a canal: Panama");
    int begin = 0;
    int end = s.size() - 1;
    while (begin < end)
    {
        while (!isletter(s[begin]) && (begin < end))
            begin++;
        while (!isletter(s[end]) && (begin < end))
            end--;

        if (s[begin] < 97)
            s[begin] -= 32;
        if (s[end] < 97)
            s[end] -= 32;

        if (s[begin] == s[end])
        {
            begin++;
            end--;
        }
        else
        {
            return false;
        }
    }
    return true;
}
int main()
{
//test01();
//test02();
//test03();
test04();
return 0;
}

?int main(int argc, char* argv[])

{
    string a = "hello world";
    string b = a;
    if (a.c_str() == b.c_str())
    {
        cout << "true" << endl;
    }
    else cout << "false" << endl;
    string c = b;
    c = "";
    if (a.c_str() == b.c_str())
    {
        cout << "true" << endl;
    }
    else cout << "false" << endl;
    a = "";
    if (a.c_str() == b.c_str())
    {
        cout << "true" << endl;
    }
    else cout << "false" << endl;
    return 0;
}

?int main(int argc, char* argv[])

{
    string strText = "How are you?";
    string strSeparator = " ";
    string strResult;
    int size_pos = 0;
    int size_prev_pos = 0;
    while ((size_pos = strText.find_first_of(strSeparator, size_pos)) != string::npos)
    {
        strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);
        cout << strResult << " ";
        size_prev_pos = ++size_pos;
    }
    if (size_prev_pos != strText.size())
    {
        strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);
        cout << strResult << " ";
    }
    cout << endl;
    return 0;

}